#include "live_home.h"
#include "ui_live_home.h"
#include <QIcon>
#include <QPixmap>
live_home::live_home(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::live_home)
{
    ui->setupUi(this);
    QPixmap pixmap(":/chuankou/home1.png");

    // 创建一个QPalette对象并设置QPixmap为背景
    QPalette palette;
    palette.setBrush(QPalette::Window, QBrush(pixmap));
    this->setPalette(palette);
    //空调属性初始化
    kongtiao_key = 0;//关闭状态
    hot_cold = 0;//冷模式
    QPixmap pixmap1(":/chuankou/kongtiaoguan.jpg");//空调关图片
    ui->label->setPixmap(pixmap1);
    ui->label->setScaledContents(true);
    tem = 26;
    ui->lcdNumber->display(26);
    ui->lcdNumber->hide();
    QPixmap pixmap2(":/chuankou/baoxue.png");//空调冷图片
    ui->label_2->setPixmap(pixmap2);//空调冷模式图片
    ui->label_2->setScaledContents(true);
    ui->label_2->hide();
    //风扇关
    QPixmap pixmap3(":/chuankou/风扇关.jpg");//风扇关图片
    ui->label_3->setPixmap(pixmap3);
    ui->label_3->setScaledContents(true);
    //风扇开
    QPixmap pixmap4(":/chuankou/电灯关.jpg");//电灯开图片
    ui->label_4->setPixmap(pixmap4);
    ui->label_4->setScaledContents(true);
    //打开串口
    slotOpenSerialPort();
}

live_home::~live_home()
{
    delete ui;
}

//关闭串口
void live_home::slotCloseSerialPort()
{
    if (my_serialport)
        my_serialport->close();
}
//打开串口
void live_home::slotOpenSerialPort()
{
    //创建一个串口对象
    my_serialport = new QSerialPort(this);
    //安全判断串口是否打开了，打开了则先关闭
    if(my_serialport->isOpen())
    {
        qDebug()<<"串口已被打开"<<endl;
        return;
    }
    //设置串口名字
    my_serialport->setPortName("COM1");
    //打开串口，安全判断
    if(!my_serialport->open(QIODevice::ReadWrite))
    {
        qDebug()<<"串口打开失败"<<endl;
    }
    my_serialport->setBaudRate(9600);//设置波特率
    my_serialport->setDataBits(QSerialPort::Data8);//设置数据位
    my_serialport->setFlowControl(QSerialPort::NoFlowControl);//设置数据流控制
    my_serialport->setParity(QSerialPort::NoParity);//设置奇偶校验位
    my_serialport->setStopBits(QSerialPort::OneStop);//设置停止位

    connect(my_serialport,SIGNAL(readyRead()),this,SLOT(slotReadData()));
}
//接收串口数据
void live_home::slotReadData()
{
    QString data = my_serialport->readAll();
    qDebug()<<"接收的数据为"<<data<<endl;
    if(data == "关闭风扇")
    {
        QPixmap pixmap2(":/chuankou/风扇关.jpg");//风扇关图片
        ui->label_3->setPixmap(pixmap2);
        ui->label_3->setScaledContents(true);
        return;
    }
    if(data == "打开风扇")
    {
        QPixmap pixmap2(":/chuankou/风扇开.jpg");//风扇开图片
        ui->label_3->setPixmap(pixmap2);
        ui->label_3->setScaledContents(true);
        return;
    }
    if(data == "关闭电灯")
    {
        QPixmap pixmap2(":/chuankou/电灯关.jpg");//电灯开图片
        ui->label_4->setPixmap(pixmap2);
        ui->label_4->setScaledContents(true);
        return;
    }
    if(data == "打开电灯")
    {
        QPixmap pixmap2(":/chuankou/电灯开.jpg");//电灯开图片
        ui->label_4->setPixmap(pixmap2);
        ui->label_4->setScaledContents(true);
        return;
    }
    if(data == "关闭空调")
    {
        QPixmap pixmap2(":/chuankou/kongtiaoguan.jpg");//空调关图片
        ui->label->setPixmap(pixmap2);
        ui->label->setScaledContents(true);
        ui->label_2->hide();
        ui->lcdNumber->hide();
        return;
    }
    if(data == "打开空调")
    {
        QPixmap pixmap2(":/chuankou/kongtiaokai.jpg");//空调开图片
        ui->label->setPixmap(pixmap2);
        ui->label->setScaledContents(true);
        ui->label_2->show();
        ui->lcdNumber->show();
        return;
    }
    if(data == "打开热风模式")
    {
        QPixmap pixmap2(":/chuankou/qingtian.png");//热模式图片
        ui->label_2->setPixmap(pixmap2);
        ui->label_2->setScaledContents(true);

        return;
    }
    if(data == "打开冷风模式")
    {
        QPixmap pixmap2(":/chuankou/baoxue.png");//冷模式图片
        ui->label_2->setPixmap(pixmap2);
        ui->label_2->setScaledContents(true);
        return;
    }
    if(data == "加温")
    {
        tem = tem + 1;
        ui->lcdNumber->display(tem);

        return;
    }
    if(data == "降温")
    {
        tem = tem - 1;
        ui->lcdNumber->display(tem);
        return;
    }

}
//传输串口数据
void live_home::slotSend(QString data)
{
    if(my_serialport)
    {
        if(!my_serialport->isOpen())
        {
            qDebug()<<"串口没有打开"<<endl;
        }
        QByteArray sendbuf;
        sendbuf.append(data);//将字符串转成字节数据
        my_serialport->write(sendbuf);
    }
}




